home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1987-03-31 | 18.6 KB | 519 lines |
- 5 KEY OFF
- 10 BORDER = 15
- 11 BACKGROUND = 0
- 12 TEXT = 5
- 13 HIGHLIGHT = 9
- 14 O = 1
- 20 DIM C$(15),A$(20)
- 21 BAR$=CHR$(219)+CHR$(219)+CHR$(219)+CHR$(219)+CHR$(219)
- 30 C$(0)="Black": C$(8)="Gray"
- 31 C$(1)="Blue": C$(9)="Light Blue"
- 32 C$(2)="Green":C$(10)="Light Green"
- 33 C$(3)="Cyan":C$(11)="Light Cyan"
- 34 C$(4)="Red":C$(12)="Light Red"
- 35 C$(5)="Magenta":C$(13)="Light Magenta"
- 36 C$(6)="Brown":C$(14)="Yellow"
- 37 C$(7)="White":C$(15)="Bright White"
- 50 M1 = 1 : M2 =2 : M3= 2 : M4=1
- 60 D1$="2373815,,,,,000000,00000"
- 61 D2$="701"
- 62 D3$="2370000"
- 63 D4$="2379999"
- 64 D5$="0"
- 65 D6$="20"
- 66 D5 = 1
- 70 CU$="1234567"
- 100 REM read color data
- 105 ON ERROR GOTO 300
- 109 LIN = 1
- 110 OPEN "i",#1,"color.dat"
- 120 INPUT #1,C1,C2,C3,C4
- 140 BORDER = C1: TEXT = C2 : BACKGROUND = C3 : HIGHLIGHT = C4
- 145 CLOSE #1 : LIN = 2
- 150 OPEN "i",#1,"modem.dat"
- 160 INPUT #1,M1,M2,M3,M4
- 170 CLOSE #1
- 175 LIN = 3
- 180 OPEN "i",#1,"dialing.dat"
- 190 INPUT #1,D1$,D2$,D3$,D4$,D5$,D6$,D5
- 200 CLOSE #1
- 210 LIN = 4
- 215 OPEN "i",#1,"alarm.dat"
- 220 INPUT#1,START$,S1$
- 230 CLOSE #1
- 250 ON ERROR GOTO 0
- 299 GOTO 800
- 300 REM IF ERR = 53 THEN GOTO 301 ELSE GOTO 350
- 301 IF LIN = 1 THEN RESUME 145
- 302 IF LIN = 2 THEN RESUME 175
- 303 IF LIN = 3 THEN RESUME 200
- 304 IF LIN = 4 THEN RESUME 230
- 350 PRINT ERR,ERRLINE
- 388 STOP
- 800 TROFF
- 848 SCREEN 0,0,0
- 849 GOTO 900
- 850 LOCATE 5,LEFT+3:PRINT DATE$: LOCATE 6,LEFT+4: PRINT TIME$ : RETURN
- 900 COLOR TEXT,BACKGROUND,BACKGROUND : CLS
- 901 GOSUB 1000
- 909 A$(1)="Dial":A$(2)="Set Colors":A$(3)="Modem Parameters":A$(4)="Dialing Parameters":A$(5)="Set Time":A$(6)="Exit"
- 910 IF O<1 THEN O=5
- 911 IF O>6 THEN O=1
- 912 COLOR TEXT,BACKGROUND: FOR I =1 TO 6: LOCATE 3+I,14-LEN(A$(I))/2: PRINT A$(I): NEXT I
- 913 COLOR TEXT,HIGHLIGHT : LOCATE 3+O,14-LEN(A$(O))/2 :PRINT A$(O)
- 914 K$ = INKEY$ : K = 0 :IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 915 IF K$ = "8" OR K=72 THEN O=O-1:GOTO 910
- 916 IF K$="2" OR K=80 THEN O=O+1:GOTO 910
- 917 IF K$<>CHR$(13) AND K$<>"+" THEN 950
- 919 COLOR TEXT,BACKGROUNG,BACKGROUND
- 921 IF O = 1 THEN 5000
- 922 IF O = 2 THEN 2000
- 923 IF O = 3 THEN GOTO 3000
- 924 IF O = 4 THEN 4000
- 925 IF O = 5 THEN 7000
- 926 IF O = 6 THEN CLS : COLOR 15,0,0 : END
- 950 IF K$=" " THEN A$="com"+RIGHT$(STR$(M1),1)+":" : HOOK = 1-HOOK : CLOSE : OPEN A$ AS 2 : PRINT #2,"AT M1 H";HOOK
- 955 IF K$<>CHR$(27) THEN 970
- 960 COLOR TEXT,BACKGROUND,BACKGROUND : CLS : FILES : LOCATE 23,30 : PRINT "Press any key for menu..." :
- 965 IF INKEY$="" THEN 965 ELSE GOTO 900
- 970 '
- 999 GOTO 914
- 1000 COLOR BORDER,BACKGROUND,BACKGROUND
- 1001 CLS:CLOSE
- 1004 L$="" : FOR I = 1 TO 78 : L$ = L$ + CHR$(196) : NEXT I
- 1005 LOCATE 1,1 : PRINT CHR$(218) L$ CHR$(191)
- 1010 FOR I = 2 TO 22 : LOCATE I,1 : PRINT CHR$(179) : LOCATE I,80 : PRINT CHR$(179) : NEXT I
- 1015 LOCATE 23,1 : PRINT CHR$(192) L$ CHR$(217);
- 1029 LOCATE 12,1
- 1030 PRINT CHR$(195) L$ CHR$(180)
- 1035 LEFT = 27
- 1040 LOCATE 1,LEFT : PRINTCHR$(194) : FOR I = 2 TO 11 : LOCATE I,LEFT : PRINT CHR$(179) : NEXT I :LOCATE 12,LEFT: PRINTCHR$(193)
- 1050 COLOR TEXT
- 1099 RETURN
- 1100 REM display screen logo
- 1105 COLOR 15
- 1110 LOCATE 6,28: PRINT" Wargames Dialer"
- 1199 RETURN
- 1800 REM display instructions in upperleft box
- 1809 COLOR TEXT,BACKGROUND
- 1810 LOCATE 3,6:PRINT "The Ultimate in"
- 1811 LOCATE 4,6:PRINT "Wargame dialers"
- 1812 LOCATE 6,3: PRINT"Move with Cursor Keys"
- 1813 LOCATE 7,3: PRINT"and press <Return> or +"
- 1814 LOCATE 8,3: PRINT"to selected option."
- 1815 COLOR TEXT,HIGHLIGHT : LOCATE 7,14 : PRINT "Return" : LOCATE 7,25: PRINT "+": LOCATE 6,13 : PRINT "Cursor Keys"
- 1820 RETURN
- 1825 REM display instructions for modem default
- 1826 COLOR TEXT,BACKGROUND
- 1827 LOCATE 3,6: PRINT"The Ultimate in"
- 1828 LOCATE 4,6: PRINT"Wargame Dialers"
- 1829 LOCATE 7,3: PRINT"Move with <- & ->"
- 1830 LOCATE 8,3: PRINT"keys and press"
- 1831 LOCATE 9,3: PRINT"<Return> or + "
- 1832 LOCATE 10,3:PRINT"to select."
- 1833 COLOR TEXT,HIGHLIGHT : LOCATE 7,13 : PRINT "<-" : LOCATE 7,18 : PRINT "->"
- 1834 LOCATE 9,4: PRINT "Return" : LOCATE 9,15 : PRINT"+"
- 1835 RETURN
- 1900 REM clear bottom box
- 1910 COLOR TEXT,BACKGROUND,BACKGROUND
- 1920 FOR I = 13 TO 22:LOCATE I,2 :PRINT" ": NEXT I
- 1924 RETURN
- 1925 REM clear upperleft box
- 1930 COLOR TEXT,BACKGROUND,BACKGROUND : FOR I = 2 TO 11:LOCATE I,2:PRINT " " : NEXT I
- 1935 RETURN
- 1950 FOR I = 0 TO 15 : COLOR I,I : Y = 14+I+(I>7)*8: X = 35-(I>7)*18
- 1955 LOCATE Y,X :PRINT BAR$ : COLOR TEXT,BACKGROUND :LOCATE Y,X+7 : PRINT C$(I):NEXT I
- 1956 OLD=0
- 1960 RETURN
- 1975 COLOR TEXT,BACKGROUND : LOCATE 14+OLD+(OLD>7)*8,42-(OLD>7)*18 : PRINT C$(OLD)
- 1978 COLOR TEXT,HIGHLIGHT : LOCATE 14+O+(O>7)*8,42-(O>7)*18 : PRINT C$(O)
- 1979 OLD = O
- 1980 RETURN
- 2000 REM set system colors
- 2001 CLOSE
- 2010 GOSUB 1900: GOSUB 1925 : GOSUB 1800 : REM clear ul & bottom boxes & display instructions
- 2011 LOCATE 15,6:COLOR BORDER,BACKGROUND:PRINT BAR$
- 2012 LOCATE 17,6:COLOR TEXT,BACKGROUND:PRINT BAR$
- 2013 LOCATE 19,6:COLOR BACKGROUND,BACKGROUND:PRINT BAR$
- 2014 LOCATE 21,6:COLOR HIGHLIGHT,BACKGROUND:PRINT BAR$ : COLOR TEXT,BACKGROUND
- 2015 LOCATE 15,13 : PRINT "Outline Color"
- 2016 LOCATE 17,13 : PRINT "Text Color"
- 2017 LOCATE 19,13 : PRINT "Background Color"
- 2018 LOCATE 21,13 : PRINT "Highlight Color"
- 2019 O=BORDER : LOCATE 15,13 : COLOR TEXT,HIGHLIGHT : PRINT "Outline Color" : GOSUB 1950 : GOTO 2040
- 2020 REM select outline color
- 2021 GOSUB 1950 ' Display colorbars and names
- 2022 GOSUB 1975 ' Display highlighted option
- 2025 K$=INKEY$ : K = 0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 2026 IF K$="8" OR K=72 THEN O=O-1:GOTO 2035
- 2027 IF K$="2" OR K=80 THEN O=O+1:GOTO 2035
- 2028 IF K$="4" OR K=75 THEN O=O-8:GOTO 2035
- 2029 IF K$="6" OR K=77 THEN O=O+8:GOTO 2035
- 2030 IF K$<>CHR$(13) AND K$<>"+" THEN 2025
- 2033 GOTO 2050 ' color selected so continue
- 2035 REM check for range error
- 2036 IF O=-1THEN O=7
- 2037 IF O=16THEN O=8
- 2038 IF O<-1THEN O=O+16
- 2039 IF O>16THEN O=O-16
- 2040 LOCATE 15,6 : COLOR O,O: PRINT BAR$ :GOTO 2022
- 2050 C1=O
- 2118 LOCATE 15,13 : COLOR TEXT,BACKGROUND : PRINT "Outline Color"
- 2119 O=TEXT : LOCATE 17,13 : COLOR TEXT,HIGHLIGHT : PRINT "Text Color" : GOSUB 1950 : GOTO 2140
- 2120 REM select outline color
- 2121 GOSUB 1950 ' Display colorbars and names
- 2122 GOSUB 1975 ' Display highlighted option
- 2125 K$=INKEY$ : K = 0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 2126 IF K$="8" OR K=72 THEN O=O-1:GOTO 2135
- 2127 IF K$="2" OR K=80 THEN O=O+1:GOTO 2035
- 2128 IF K$="4" OR K=75 THEN O=O-8:GOTO 2135
- 2129 IF K$="6" OR K=77 THEN O=O+8:GOTO 2135
- 2130 IF K$<>CHR$(13) AND K$<>"+" THEN 2125
- 2133 GOTO 2150 ' color selected so continue
- 2135 REM check for range error
- 2136 IF O=-1 THEN O=7
- 2137 IF O=16 THEN O=8
- 2138 IF O<-1 THEN O=O+16
- 2139 IF O>16 THEN O=O-16
- 2140 LOCATE 17,6 : COLOR O,O: PRINT BAR$ :GOTO 2122
- 2150 C2=O
- 2218 LOCATE 17,13 : COLOR TEXT,BACKGROUND : PRINT "Text Color"
- 2219 O=BACKGROUND : LOCATE 19,13 : COLOR TEXT,HIGHLIGHT : PRINT "Background Color" : GOSUB 1950 : GOTO 2240
- 2220 REM select outline color
- 2221 GOSUB 1950 ' Display colorbars and names
- 2222 GOSUB 1975 ' Display highlighted option
- 2225 K$=INKEY$ : K = 0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 2226 IF K$="8" OR K=72 THEN O=O-1:GOTO 2235
- 2227 IF K$="2" OR K=80 THEN O=O+1:GOTO 2235
- 2228 IF K$="4" OR K=75 THEN O=O-8:GOTO 2235
- 2229 IF K$="6" OR K=77 THEN O=O+8:GOTO 2235
- 2230 IF K$<>CHR$(13) AND K$<>"+" THEN 2225
- 2233 GOTO 2250 ' color selected so continue
- 2235 REM check for range error
- 2236 IF O=-1 THEN O=7
- 2237 IF O=16 THEN O=8
- 2238 IF O<-1 THEN O=O+16
- 2239 IF O>16 THEN O=O-16
- 2240 LOCATE 19,6 : COLOR O,O: PRINT BAR$ :GOTO 2222
- 2250 C3=O
- 2318 LOCATE 19,13 : COLOR TEXT,BACKGROUND : PRINT "Background Color"
- 2319 O=HIGHLIGHT : LOCATE 21,13 : COLOR TEXT,HIGHLIGHT : PRINT "Highlight Color" : GOSUB 1950 : GOTO 2340
- 2320 REM select outline color
- 2321 GOSUB 1950 ' Display colorbars and names
- 2322 GOSUB 1975 ' Display highlighted option
- 2325 K$=INKEY$ : K = 0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 2326 IF K$="8" OR K=72 THEN O=O-1:GOTO 2335
- 2327 IF K$="2" OR K=80 THEN O=O+1:GOTO 2335
- 2328 IF K$="4" OR K=75 THEN O=O-8:GOTO 2335
- 2329 IF K$="6" OR K=77 THEN O=O+8:GOTO 2335
- 2330 IF K$<>CHR$(13) AND K$<>"+" THEN 2325
- 2333 GOTO 2350 ' color selected so continue
- 2335 REM check for range error
- 2336 IF O=-1 THEN O=7
- 2337 IF O=16 THEN O=8
- 2338 IF O<-1 THEN O=O+16
- 2339 IF O>16 THEN O=O-16
- 2340 LOCATE 21,6 : COLOR O,O: PRINT BAR$ :GOTO 2322
- 2350 C4=O
- 2400 BORDER = C1 : TEXT = C2 : BACKGROUND = C3 : HIGHLIGHT = C4
- 2405 COLOR TEXT,BACKGROUND,BACKGROUND
- 2410 CLS : LOCATE 12,30 : PRINT "Saving Default Colors"
- 2420 OPEN "o",#1,"color.dat"
- 2430 WRITE #1,C1,C2,C3,C4
- 2440 CLOSE #1
- 2499 O = 2 : GOTO 900
- 3000 REM set modem parameters
- 3001 CLOSE
- 3005 COLOR TEXT,BACKGROUND,BACKGROUND
- 3006 GOSUB 1900 : GOSUB 1925 : GOSUB 1825
- 3007 COLOR TEXT,BACKGROUND,BACKGROUND
- 3010 LOCATE 15,8: PRINT"COM: Port 1 2 3 4"
- 3011 LOCATE 17,8: PRINT"Baud Rate 300 1200"
- 3012 LOCATE 19,8: PRINT"Dial Mode Pulse Tone"
- 3013 LOCATE 21,8: PRINT"Speaker On Off"
- 3015 LOCATE 13,56 : PRINT "Default Settings"
- 3016 LOCATE 15,63 : PRINT M1
- 3017 LOCATE 17,63 : IF M2 = 1 THEN PRINT "300" ELSE PRINT "1200"
- 3018 LOCATE 19,63 : IF M3 = 1 THEN PRINT "Pulse" ELSE PRINT "Tone"
- 3019 LOCATE 21,64 : IF M4 = 1 THEN PRINT "On" ELSE PRINT "Off"
- 3030 COLOR TEXT,HIGHLIGHT
- 3031 LOCATE 15,8:PRINT "COM: Port" : O = M1
- 3032 LOCATE 15,23 : COLOR TEXT,BACKGROUND : PRINT " 1 2 3 4 ": LOCATE 15,19+O*4 : COLOR TEXT,HIGHLIGHT : PRINT O
- 3033 K$=INKEY$: K=0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 3034 IF K$="4" OR K = 75 THEN O=O-1: GOTO 3040
- 3035 IF K$="6" OR K = 77 THEN O=O+1: GOTO 3040
- 3036 IF K$<>CHR$(13) AND K$<>"+" THEN 3033
- 3037 GOTO 3045
- 3040 IF O < 1 THEN O = 4
- 3041 IF O > 4 THEN O = 1
- 3042 GOTO 3032
- 3045 COLOR TEXT,BACKGROUND : LOCATE 15,8 : PRINT "COM: Port 1 2 3 4 ": M1 = O : LOCATE 15,63 : PRINT M1
- 3050 COLOR TEXT,HIGHLIGHT : LOCATE 17,8 : PRINT "Baud Rate" : O = M2
- 3051 COLOR TEXT,BACKGROUND : LOCATE 17,26 : PRINT "300 1200" : COLOR TEXT,HIGHLIGHT : LOCATE 17,21+O*5 : IF O = 1 THEN PRINT "300" ELSE PRINT "1200"
- 3052 K$=INKEY$: K=0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 3053 IF K$="4" OR K = 75 THEN O=O-1: GOTO 3057
- 3054 IF K$="6" OR K = 77 THEN O=O+1: GOTO 3057
- 3055 IF K$<>CHR$(13) AND K$<>"+" THEN 3052
- 3056 GOTO 3060
- 3057 IF O>2 THEN O = 1
- 3058 IF O<1 THEN O = 2
- 3059 GOTO 3051
- 3060 COLOR TEXT,BACKGROUND : LOCATE 17,8: PRINT "Baud Rate 300 1200" : LOCATE 17,63 : M2 = O : IF M2 = 1 THEN PRINT "300 " ELSE PRINT "1200"
- 3070 COLOR TEXT,HIGHLIGHT : LOCATE 19,8 : PRINT "Dial Mode" : O = M3
- 3071 COLOR TEXT,BACKGROUND : LOCATE 19,25 : PRINT "Pulse Tone" : COLOR TEXT,HIGHLIGHT : LOCATE 19,18+O*7 : IF O = 1 THEN PRINT "Pulse" ELSE PRINT "Tone"
- 3072 K$=INKEY$: K=0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 3073 IF K$="4" OR K = 75 THEN O=O-1: GOTO 3077
- 3074 IF K$="6" OR K = 77 THEN O=O+1: GOTO 3077
- 3075 IF K$<>CHR$(13) AND K$<>"+" THEN 3072
- 3076 GOTO 3080
- 3077 IF O>2 THEN O = 1
- 3078 IF O<1 THEN O = 2
- 3079 GOTO 3071
- 3080 COLOR TEXT,BACKGROUND : LOCATE 19,8: PRINT "Dial Mode Pulse Tone": LOCATE 19,63 : M3 = O : IF M3 = 1 THEN PRINT "Pulse" ELSE PRINT "Tone "
- 3090 COLOR TEXT,BACKGROUND : LOCATE 21,8: PRINT "Speaker On Off": LOCATE 21,64 : O = M4 : IF O = 1 THEN PRINT "On " ELSE PRINT "Off "
- 3091 COLOR TEXT,BACKGROUND : LOCATE 21,27 : PRINT "On Off" : COLOR TEXT,HIGHLIGHT : LOCATE 21,23+O*4 : IF O = 1 THEN PRINT "On" ELSE PRINT "Off"
- 3092 K$=INKEY$: K=0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 3093 IF K$="4" OR K = 75 THEN O=O-1: GOTO 3097
- 3094 IF K$="6" OR K = 77 THEN O=O+1: GOTO 3097
- 3095 IF K$<>CHR$(13) AND K$<>"+" THEN 3092
- 3096 GOTO 3100
- 3097 IF O>2 THEN O = 1
- 3098 IF O<1 THEN O = 2
- 3099 GOTO 3091
- 3100 COLOR TEXT,BACKGROUND : LOCATE 21,8: PRINT "Speaker On Off": LOCATE 21,64 : M4 = O : IF M4 = 1 THEN PRINT "On " ELSE PRINT "Off"
- 3150 COLOR TEXT,BACKGROUND,BACKGROUND : CLS : LOCATE 12,30 : PRINT "Saving Modem Setup"
- 3160 OPEN "o",#1,"modem.dat"
- 3170 WRITE #1,M1,M2,M3,M4
- 3180 CLOSE #1
- 3900 O = 3 : GOTO 900
- 4000 REM set dialing parameters
- 4001 CLOSE
- 4010 LOCATE 15,8 : PRINT "Exchange Code ";D1$
- 4011 LOCATE 16,8 : PRINT "Area Code ":LOCATE 16,66: PRINT D2$
- 4012 LOCATE 17,8 : PRINT "Starting Number ":LOCATE 17,66: PRINT D3$
- 4013 LOCATE 18,8 : PRINT "Ending Number ":LOCATE 18,66: PRINT D4$
- 4014 LOCATE 19,8 : PRINT "Time Between Calls ":LOCATE 19,66: PRINT D5$
- 4015 LOCATE 20,8 : PRINT "Wait for Carrier ":LOCATE 20,66: PRINT D6$
- 4016 LOCATE 21,8 : PRINT "Dialing Mode ":LOCATE 21,66: IF D5 = 1 THEN PRINT "Sequential"
- 4017 IF D5 = 2 THEN PRINT "Alternating"
- 4020 COLOR TEXT,HIGHLIGHT : LOCATE 15,8 : PRINT "Exchange Code" : O$=D1$ : COLOR TEXT,BACKGROUND : GOTO 4027
- 4021 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4022 IF K$=CHR$(13) OR K$="+"THEN 4030
- 4023 IF K$ = CHR$(8) OR K = 75 THEN 4028
- 4024 IF K = 0 THEN 4021
- 4025 IF LEN(O$) < 26 THEN O$=O$+LEFT$(K$,1) : GOTO 4027
- 4026 GOTO 4021
- 4027 LOCATE 15,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4021
- 4028 IF LEN(O$)<2 THEN O$ = "" : LOCATE 15,27 : PRINT " " : LOCATE 15,27 : PRINT CHR$(219); :GOTO 4021
- 4029 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 15,27 : PRINT O$ CHR$(219) " ": GOTO 4021
- 4030 D1$=O$ : COLOR TEXT,BACKGROUND : LOCATE 15,8 : PRINT "Exchange Code" : LOCATE 15,27 : PRINT D1$ " "
- 4040 COLOR TEXT,HIGHLIGHT : LOCATE 16,8 : PRINT "Area Code" : O$=D2$ : COLOR TEXT,BACKGROUND : GOTO 4047
- 4041 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4042 IF K$=CHR$(13) OR K$="+"THEN 4050
- 4043 IF K$ = CHR$(8) OR K = 75 THEN 4048
- 4044 IF K = 0 OR K$<"0" OR K$>"9" THEN 4041
- 4045 IF LEN(O$) < 3 THEN O$=O$+LEFT$(K$,1) : GOTO 4047
- 4046 GOTO 4041
- 4047 LOCATE 16,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4041
- 4048 IF LEN(O$)<2 THEN O$ = "" : LOCATE 16,27 : PRINT " " : LOCATE 16,27: PRINT CHR$(219) : GOTO 4041
- 4049 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 16,27 : PRINT O$ CHR$(219) " ": GOTO 4041
- 4050 D2$=O$ : COLOR TEXT,BACKGROUND : LOCATE 16,8 : PRINT "Area Code" : LOCATE 16,27 : PRINT D2$ " " : LOCATE 16,66 : PRINT D2$ " "
- 4060 COLOR TEXT,HIGHLIGHT : LOCATE 17,8 : PRINT "Starting Number" : O$=D3$ : COLOR TEXT,BACKGROUND : GOTO 4067
- 4061 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4062 IF (K$=CHR$(13) OR K$="+") AND LEN(O$)=7 THEN 4070
- 4063 IF K$ = CHR$(8) OR K = 75 THEN 4068
- 4064 IF K = 0 OR K$<"0" OR K$>"9" THEN 4061
- 4065 IF LEN(O$) < 7 THEN O$=O$+LEFT$(K$,1) : GOTO 4067
- 4066 GOTO 4061
- 4067 LOCATE 17,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4061
- 4068 IF LEN(O$)<2 THEN O$ = "" : LOCATE 17,27 : PRINT " " : LOCATE 17,27 : PRINT CHR$(219) :GOTO 4061
- 4069 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 17,27 : PRINT O$ CHR$(219) " ": GOTO 4061
- 4070 D3$=O$ : COLOR TEXT,BACKGROUND : LOCATE 17,8 : PRINT "Starting Number" : LOCATE 17,27 : PRINT D3$" " : LOCATE 17,66 : PRINT D3$ " "
- 4080 COLOR TEXT,HIGHLIGHT : LOCATE 18,8 : PRINT "Ending Number" : O$=D4$ : COLOR TEXT,BACKGROUND : GOTO 4087
- 4081 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4082 IF (K$=CHR$(13) OR K$="+") AND LEN(O$)=7 THEN 4090
- 4083 IF K$ = CHR$(8) OR K = 75 THEN 4088
- 4084 IF K = 0 OR K$<"0" OR K$>"9" THEN 4081
- 4085 IF LEN(O$) < 7 THEN O$=O$+LEFT$(K$,1) : GOTO 4087
- 4086 GOTO 4081
- 4087 LOCATE 18,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4081
- 4088 IF LEN(O$)<2 THEN O$ = "" : LOCATE 18,27 : PRINT " " : LOCATE 18,27 : PRINT CHR$(219) :GOTO 4081
- 4089 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 18,27 : PRINT O$ CHR$(219) " ": GOTO 4081
- 4090 D4$=O$ : COLOR TEXT,BACKGROUND : LOCATE 18,8 : PRINT "Ending Number" : LOCATE 18,27 : PRINT D4$" " : LOCATE 18,66 : PRINT D4$ " "
- 4100 COLOR TEXT,HIGHLIGHT : LOCATE 19,8 : PRINT "Time between calls" : O$=D5$ : COLOR TEXT,BACKGROUND : GOTO 4107
- 4101 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4102 IF (K$=CHR$(13) OR K$="+") THEN 4110
- 4103 IF K$ = CHR$(8) OR K = 75 THEN 4108
- 4104 IF K = 0 OR K$<"0" OR K$>"9" THEN 4101
- 4105 IF LEN(O$) < 3 THEN O$=O$+LEFT$(K$,1) : GOTO 4107
- 4106 GOTO 4101
- 4107 LOCATE 19,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4101
- 4108 IF LEN(O$)<2 THEN O$ = "" : LOCATE 19,27 : PRINT " " : LOCATE 19,27 : PRINT CHR$(219) :GOTO 4101
- 4109 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 19,27 : PRINT O$ CHR$(219) " ": GOTO 4101
- 4110 D5$=O$ : COLOR TEXT,BACKGROUND : LOCATE 19,8 : PRINT "Time between calls" : LOCATE 19,27 : PRINT D5$" " : LOCATE 19,66 : PRINT D5$ " "
- 4120 COLOR TEXT,HIGHLIGHT : LOCATE 20,8 : PRINT "Wait for carrier" : O$=D6$ : COLOR TEXT,BACKGROUND : GOTO 4127
- 4121 K$=INKEY$ : K = 1: IF LEN(K$)>1 THEN K = ASC(RIGHT$(K$,1))
- 4122 IF (K$=CHR$(13) OR K$="+") THEN 4130
- 4123 IF K$ = CHR$(8) OR K = 75 THEN 4128
- 4124 IF K = 0 OR K$<"0" OR K$>"9" THEN 4121
- 4125 IF LEN(O$) < 3 THEN O$=O$+LEFT$(K$,1) : GOTO 4127
- 4126 GOTO 4121
- 4127 LOCATE 20,27 : COLOR TEXT,BACKGROUND : PRINT O$ CHR$(219) : GOTO 4121
- 4128 IF LEN(O$)<2 THEN O$ = "" : LOCATE 20,27 : PRINT " " : LOCATE 20,27 : PRINT CHR$(219) :GOTO 4121
- 4129 O$=LEFT$(O$,LEN(O$)-1) : LOCATE 20,27 : PRINT O$ CHR$(219) " ": GOTO 4121
- 4130 D6$=O$ : COLOR TEXT,BACKGROUND : LOCATE 20,8 : PRINT "Wait for carrier" : LOCATE 20,27 : PRINT D6$" " : LOCATE 20,66 : PRINT D6$ " "
- 4140 COLOR TEXT,BACKGROUND : LOCATE 21,8: PRINT "Dialing Mode Sequential Alternating" : O = D5
- 4141 COLOR TEXT,BACKGROUND : LOCATE 21,27 : PRINT "Sequential Alternating" : COLOR TEXT,HIGHLIGHT : LOCATE 21,16+O*11: IF O = 1 THEN PRINT "Sequential" ELSE PRINT "Alternating"
- 4142 K$=INKEY$: K=0 : IF LEN(K$)>1 THEN K=ASC(RIGHT$(K$,1))
- 4143 IF K$="4" OR K = 75 THEN O=O-1: GOTO 4147
- 4144 IF K$="6" OR K = 77 THEN O=O+1: GOTO 4147
- 4145 IF K$<>CHR$(13) AND K$<>"+" THEN 4142
- 4146 GOTO 4150
- 4147 IF O>2 THEN O = 1
- 4148 IF O<1 THEN O = 2
- 4149 GOTO 4141
- 4150 COLOR TEXT,BACKGROUND : LOCATE 21,8: PRINT "Dialing Mode Sequential Alternating": LOCATE 21,66 : D5 = O : IF D5 = 1 THEN PRINT "Sequential " ELSE PRINT "Alternating"
- 4190 O = 4
- 4200 COLOR TEXT,BACKGROUND,BACKGROUND : CLS : LOCATE 12,30 : PRINT "Saving Dialing Parameters"
- 4210 OPEN "o",#2,"dialing.dat"
- 4220 WRITE #2,D1$,D2$,D3$,D4$,D5$,D6$,D5
- 4230 CLOSE
- 4240 GOTO 900
- 5000 REM begin dialing
- 5001 CLOSE
- 5002 GOSUB 6000
- 5005 STATUS$="Resetting Modem"
- 5009 INIT = 0
- 5010 LOCATE 5,LEFT+3 : PRINT DATE$ : LOCATE 6,LEFT+4 : PRINT TIME$
- 5012 LOCATE 2,LEFT+35: PRINT "Start "D3$ : LOCATE 3,LEFT+35 : PRINT "End "D4$
- 5013 LOCATE 5,LEFT+35 : PRINT "Current "
- 5014 LOCATE 2,LEFT+14 : PRINT "Exchange" : LOCATE 3,LEFT+18-(LEN(D1$)/2) : PRINT D1$
- 5015 LOCATE 8,LEFT+3: PRINT"COM: ";M1
- 5016 LOCATE 9,LEFT+3: PRINT"Baud ";:IF M2 = 1 THEN PRINT"300 " ELSE PRINT "1200"
- 5017 LOCATE 10,LEFT+3:PRINT"Dial ";:IF M3 = 1 THEN PRINT"Pulse" ELSE PRINT "Tone "
- 5018 LOCATE 11,LEFT+3:PRINT"Speaker ";:IF M4=1 THEN PRINT"On " ELSE PRINT"off"
- 5020 IF D2$<>"" THEN LOCATE 5,LEFT+16: PRINT"Area Code ("D2$")"
- 5021 LOCATE 7,LEFT+25 : PRINT "Mode ";:IF D5=1 THEN PRINT "Sequential " ELSE PRINT"Alternating"
- 5022 LOCATE 8,LEFT+25 : PRINT "Time to call "
- 5023 LOCATE 9,LEFT+25 : PRINT "Wait for Carrier "
- 5024 LOCATE 11,LEFT+20: PRINT "Status "
- 5050 LOCATE 11,LEFT+32 : COLOR TEXT,HIGHLIGHT : PRINT "Resetting Modem" : CLOSE 1 : FOR I = 1 TO 3000 : NEXT I
- 5055 COLOR TEXT,BACKGROUND : LOCATE 11, LEFT + 32 : PRINT " "
- 5056 REM set up d$ for dialing - speaker on/off
- 5057 IF M4=2 THEN D$="AT M0 " ELSE D$="AT M1"
- 5060 REM set up d$ for dialing - pulse/tone
- 5061 IF M3=1 THEN D$=D$+"DP" ELSE D$=D$+"DT"
- 5098 CLOSE
- 5099 LIN = 0 : CFOUND = 1
- 5100 CURRENT = VAL(D1$)
- 5110 LOCATE 11,LEFT+32 :COLOR TEXT,HIGHLIGHT : PRINT"Opening COM: Port "
- 5120 A$="COM"+MID$(STR$(M1),2,1)+":":IF M2=1 THEN A$=A$+"300" ELSE A$=A$+"1200"
- 5121 ' A$=A$+",n,8,1,cs,ds"
- 5122 NUMBER = VAL(D3$) : INIT = 1
- 5123 OPEN A$ AS #1 : LOCATE 11,LEFT+32: COLOR TEXT,BACKGROUND : PRINT " "
- 5124 LOCATE 5,LEFT+43 : COLOR TEXT,HIGHLIGHT : PRINT NUMBER : LOCATE 11,LEFT+27:COLOR TEXT,BACKGROUND : PRINT" "
- 5125 IF D1$="" THEN 5135
- 5126 LOCATE 11,LEFT+32 :COLOR TEXT,HIGHLIGHT : PRINT" Dialing Exchange "
- 5130 PRINT #1,D$+D1$
- 5132 FOR I = 1 TO LEN(D1$) : LOCATE 3,LEFT+17-(LEN(D1$)/2)+I : COLOR TEXT,HIGHLIGHT : PRINT MID$(D1$,I,1) : FOR J = 1 TO 50 : NEXT J
- 5133 LOCATE 3,LEFT+17-(LEN(D1$)/2)+I : COLOR TEXT,BACKGROUND : PRINT MID$(D1$,I,1) : NEXT I
- 5135 COLOR TEXT,HIGHLIGHT : LOCATE 5,LEFT+43 : PRINT : COLOR TEXT,BACKGROUND : LOCATE 5,LEFT+42 : PRINT " "
- 5136 LOCATE 11,LEFT+32 : PRINT " " : COLOR TEXT,HIGHLIGHT : LOCATE 11,LEFT+32 : PRINT " Dialing ... ": PRINT #1,D$;D2$;NUMBER
- 5139 FOR I = 1 TO 2500:NEXT
- 5140 LOCATE 11,LEFT+27 : PRINT " Waiting for Carrier... " : TRY.TIME = VAL(D6$)
- 5150 TRY.TIME = VAL(D6$) : COLOR TEXT,HIGHLIGHT
- 5155 START.TIME = TIMER
- 5160 TI = INT(START.TIME-TIMER)+TRY.TIME
- 5161 GOSUB 850
- 5162 IF TI<0 THEN 5175
- 5165 LOCATE 9,LEFT+44 : COLOR TEXT,HIGHLIGHT :PRINT TI;: COLOR TEXT,BACKGROUND : PRINT " "
- 5170 IF LOC(1)>20 THEN 5200
- 5171 K$=INKEY$ : IF K$<>"" THEN 5300
- 5174 GOTO 5160
- 5175 GOSUB 5350
- 5176 LOCATE 9,LEFT+44: COLOR TEXT,BACKGROUND : PRINT " ":
- 5178 IF NUMBER = VAL(D4$) THEN 5190
- 5179 NUMBER = NUMBER + 1
- 5181 IF VAL(D5$)<1 THEN 5186
- 5182 RANDOMIZE TIMER : TRY.TIME = VAL(D5$) * RND(1) : TRY.TIME = INT(TRY.TIME)+1:START.TIME = TIMER
- 5183 GOSUB 850 : TI = TRY.TIME - (TIMER - START.TIME) :TI=INT(TI+0.5) : K$=INKEY$ : IF K$<>"" THEN 5300
- 5184 LOCATE 8,71 :IF TI<0 THEN 5185 ELSE COLOR TEXT,HIGHLIGHT : PRINT TI;:COLOR TEXT,BACKGROUND : PRINT " " : GOTO 5183
- 5185 COLOR TEXT,BACKGROUND : LOCATE 8,71 : PRINT " ":
- 5186 GOSUB 6100: REM CHECK IF TIME TO QUIT
- 5189 GOTO 5123
- 5190 GOTO 5335
- 5200 REM computer found
- 5201 LOCATE 7,LEFT+44 : COLOR TEXT,HIGHLIGHT : PRINT CFOUND
- 5205 OPEN "numbers.dat" FOR APPEND AS 3
- 5206 PRINT #3,NUMBER" "TIME$
- 5207 CLOSE 3
- 5208 CFOUND = CFOUND + 1
- 5210 LIN = LIN + 1
- 5211 IF LIN = 31 THEN LIN = 1 : GOSUB 1900
- 5215 VP = LIN : XP=0
- 5216 IF VP>10 THEN VP=VP-10: XP = XP+1 : GOTO 5216
- 5220 LOCATE 12+VP,XP*24 + 8
- 5225 COLOR TEXT,BACKGROUND : PRINT NUMBER " " TIME$
- 5250 GOTO 5175
- 5300 REM key was pressed
- 5310 IF K$=CHR$(27) THEN 5335
- 5311 IF K$=CHR$(13) THEN SCREEN 0,,0,3 : CLOSE 1 : GOTO 5186
- 5312 IF K$=" " THEN 5175
- 5313 IF K$=CHR$(4) THEN SCREEN 0,0,0,0 : CLOSE 1 : GOTO 5186
- 5315 CLOSE 1
- 5320 SCREEN 0,,3 : COLOR 0,0,0 : CLS
- 5325 K$=INKEY$ : IF K$="" THEN 5325
- 5330 SCREEN 0,0,0 : GOTO 5186
- 5335 REM save dialing parameters
- 5338 D3$=STR$(NUMBER)
- 5339 IF LEFT$(D3$,1)=" " THEN D3$=RIGHT$(D3$,LEN(D3$)-1) : GOTO 5339
- 5340 IF RIGHT$(D3$,1)=" " THEN D3$=LEFT$(D3$,LEN(D3$)-1) : GOTO 5340
- 5345 O = 1 : GOTO 4200
- 5350 REM hang up modem
- 5353 COLOR TEXT,BACKGROUND : LOCATE 11,LEFT+27: PRINT " "
- 5354 LOCATE 9,LEFT+44 : PRINT " "
- 5355 COLOR TEXT,HIGHLIGHT : LOCATE 11,LEFT+32 : PRINT " Hanging up... ";
- 5356 COLOR TEXT,BACKGROUND : PRINT " "
- 5360 PRINT #1,"+++" : FOR I = TIMER TO TIMER+3:I=TIMER: GOSUB 850 : NEXT I: PRINT #1,"ATH" : CLOSE 1
- 5364 COLOR TEXT,BACKGROUND : LOCATE 11,LEFT+32: PRINT " "
- 5366 RETURN
- 5499 STOP
- 5500 REM error routine for modem
- 5505 IF ERR = 24 THEN RESUME 5126
- 5510 PRINT ERR
- 5520 RESUME 5126
- 5590 COLOR 15,0 : CLS
- 5599 RESUME 5600
- 5600 ON ERROR GOTO 0
- 6000 REM WAIT FOR STARTING TIME
- 6010 IF TIME$<START$ THEN 6010
- 6020 RETURN
- 6100 'CHECK IF TIME TO STOP
- 6105 IF S1$="" THEN RETURN
- 6106 IF DATE$="06-13-1986" THEN RETURN
- 6110 IF TIME$<S1$ THEN RETURN
- 6140 GOTO 5335
- 7000 REM set time
- 7010 LOCATE 5,LEFT+5 : PRINT "Time : ";TIME$
- 7011 LOCATE 6,LEFT+5 : PRINT "Date : ";DATE$
- 7012 LOCATE 5,LEFT+25: INPUT "";T1$
- 7013 LOCATE 6,LEFT+25: INPUT "";DD$
- 7015 ON ERROR GOTO 7100
- 7016 IF T1$<>"" THEN TIME$=T1$
- 7018 ON ERROR GOTO 7110
- 7019 IF DD$<>"" THEN DATE$=DD$
- 7020 ON ERROR GOTO 0
- 7025 LOCATE 10,LEFT+10:INPUT "Start time : ";START$
- 7026 LOCATE 11,LEFT+10:INPUT "Stop time : ";S1$
- 7027 IF START$="" THEN START$=TIME$
- 7050 OPEN "o",1,"alarm.dat"
- 7055 PRINT #1,START$ : PRINT#1,S1$
- 7060 CLOSE 1
- 7099 O = 1 : GOTO 900
- 7100 RESUME 7012
- 7110 RESUME 7013
- 8000 OPEN "i",3,"numbers.dat"
- 8010 INPUT #3,T$
- 8020 PRINT T$
- 8030 GOTO 8010
-